// @ts-ignore
/* eslint-disable */
import request from '@/request'

/** 此处后端没有提供注释 POST /vip/redeem-code/delete */
export async function deleteVipRedeemCode(body: API.DeleteRequest, options?: { [key: string]: any }) {
	return request<API.BaseResponseBoolean>('/vip/redeem-code/delete', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	})
}

/** 此处后端没有提供注释 POST /vip/redeem-code/delete/batch */
export async function batchDeleteVipRedeemCode(body: number[], options?: { [key: string]: any }) {
	return request<API.BaseResponseBoolean>('/vip/redeem-code/delete/batch', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	})
}

/** 此处后端没有提供注释 POST /vip/redeem-code/exchange */
export async function exchangeVip(body: API.VipExchangeRequest, options?: { [key: string]: any }) {
	return request<API.BaseResponseBoolean>('/vip/redeem-code/exchange', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	})
}

/** 此处后端没有提供注释 POST /vip/redeem-code/expire */
export async function forceExpireVipRedeemCode(body: API.DeleteRequest, options?: { [key: string]: any }) {
	return request<API.BaseResponseBoolean>('/vip/redeem-code/expire', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	})
}

/** 此处后端没有提供注释 POST /vip/redeem-code/expire/batch */
export async function batchForceExpireVipRedeemCode(body: number[], options?: { [key: string]: any }) {
	return request<API.BaseResponseBoolean>('/vip/redeem-code/expire/batch', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	})
}

/** 此处后端没有提供注释 POST /vip/redeem-code/generate */
export async function generateRedeemCodes(body: API.VipRedeemCodeGenerateRequest, options?: { [key: string]: any }) {
	return request<API.BaseResponseListVipRedeemCodeVO>('/vip/redeem-code/generate', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	})
}

/** 此处后端没有提供注释 GET /vip/redeem-code/get */
export async function getVipRedeemCodeVoById(
	// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
	params: API.getVipRedeemCodeVOByIdParams,
	options?: { [key: string]: any }
) {
	return request<API.BaseResponseVipRedeemCodeVO>('/vip/redeem-code/get', {
		method: 'GET',
		params: {
			...params,
		},
		...(options || {}),
	})
}

/** 此处后端没有提供注释 POST /vip/redeem-code/list/page/vo */
export async function listVipRedeemCodeVoByPage(body: API.VipRedeemCodeQueryRequest, options?: { [key: string]: any }) {
	return request<API.BaseResponsePageVipRedeemCodeVO>('/vip/redeem-code/list/page/vo', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	})
}

/** 此处后端没有提供注释 POST /vip/redeem-code/renew */
export async function renewVip(body: API.VipExchangeRequest, options?: { [key: string]: any }) {
	return request<API.BaseResponseBoolean>('/vip/redeem-code/renew', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	})
}

/** 此处后端没有提供注释 POST /vip/redeem-code/update */
export async function updateVipRedeemCode(body: API.VipRedeemCodeUpdateRequest, options?: { [key: string]: any }) {
	return request<API.BaseResponseBoolean>('/vip/redeem-code/update', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	})
}

/** 此处后端没有提供注释 GET /vip/redeem-code/user/history */
export async function getUserVipHistory(options?: { [key: string]: any }) {
	return request<API.BaseResponseListVipRedeemCodeVO>('/vip/redeem-code/user/history', {
		method: 'GET',
		...(options || {}),
	})
}

/** 此处后端没有提供注释 GET /vip/redeem-code/user/info */
export async function getCurrentUserWithVipInfo(options?: { [key: string]: any }) {
	return request<API.BaseResponseLoginUserVO>('/vip/redeem-code/user/info', {
		method: 'GET',
		...(options || {}),
	})
}

/** 此处后端没有提供注释 GET /vip/redeem-code/user/remaining-days */
export async function getUserVipRemainingDays(options?: { [key: string]: any }) {
	return request<API.BaseResponseInteger>('/vip/redeem-code/user/remaining-days', {
		method: 'GET',
		...(options || {}),
	})
}
